/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.sales.hanserver.action.hancadpe.insert.query;

import br.com.sales.hanserver.action.hancadpe.consts.HanCadPEServerConsts;
import br.com.sales.hanserver.dao.Dao;
import static br.com.sales.hanserver.dao.Dao.closeConn;
import static br.com.sales.hanserver.dao.Dao.getConn;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author v
 */
public class InsertPersonQuery extends Dao {

    public InsertPersonQuery() {
    }

    protected void insertPerson(String nm_pessoa_fisica, Timestamp dt_registro, String ie_tipo_pessoa, Timestamp dt_nascimento,
            String cd_cpf, String cd_rg, String ds_endereco, String nr_telefone,
            String nr_celular, Integer nr_seq_pais, Integer nr_seq_estado, Integer nr_seq_cidade,
            String ie_tipo_usuario, String nm_usuario, String ds_senha) {
        try {

            PreparedStatement preparedStmt = getConn().prepareStatement(HanCadPEServerConsts.INSERT_PERSON);
            preparedStmt.setString(1, nm_pessoa_fisica);
            preparedStmt.setString(2, ie_tipo_pessoa);
            preparedStmt.setTimestamp(3, dt_nascimento);
            preparedStmt.setString(4, cd_cpf);
            preparedStmt.setString(5, cd_rg);
            preparedStmt.setString(6, ds_endereco);
            preparedStmt.setString(7, nr_telefone);
            preparedStmt.setString(8, nr_celular);
            preparedStmt.setObject(9, nr_seq_pais);
            preparedStmt.setObject(10, nr_seq_estado);
            preparedStmt.setObject(11, nr_seq_cidade);
            preparedStmt.setString(12, ie_tipo_usuario);
            preparedStmt.setString(13, nm_usuario);
            preparedStmt.setString(14, ds_senha);
            preparedStmt.setTimestamp(15, dt_registro);

            preparedStmt.executeUpdate();

        } catch (Exception e) {
            Logger.getLogger(InsertPersonQuery.class.getName()).log(Level.SEVERE, "Error insert PERSON", e);
        } finally {
            closeConn();
        }
    }

    protected void updatePerson(String nm_pessoa_fisica, Timestamp dt_registro, String ie_tipo_pessoa,
            Timestamp dt_nascimento, String cd_cpf, String cd_rg, String ds_endereco, String nr_telefone,
            String nr_celular, Integer nr_seq_pais, Integer nr_seq_estado, Integer nr_seq_cidade,
            String ie_tipo_usuario, String nm_usuario, String ds_senha, long sequence) {
        try {

            PreparedStatement preparedStmt = getConn().prepareStatement(HanCadPEServerConsts.UPDATE_PERSON);
            preparedStmt.setString(1, nm_pessoa_fisica);
            preparedStmt.setString(2, ie_tipo_pessoa);
            preparedStmt.setTimestamp(3, dt_nascimento);
            preparedStmt.setString(4, cd_cpf);
            preparedStmt.setString(5, cd_rg);
            preparedStmt.setString(6, ds_endereco);
            preparedStmt.setString(7, nr_telefone);
            preparedStmt.setString(8, nr_celular);
            preparedStmt.setObject(9, nr_seq_pais);
            preparedStmt.setObject(10, nr_seq_estado);
            preparedStmt.setObject(11, nr_seq_cidade);
            preparedStmt.setString(12, ie_tipo_usuario);
            preparedStmt.setString(13, nm_usuario);
            preparedStmt.setString(14, ds_senha);
            preparedStmt.setLong(15, sequence);

            preparedStmt.executeUpdate();

        } catch (Exception e) {
            Logger.getLogger(InsertPersonQuery.class.getName()).log(Level.SEVERE, "Error update PERSON", e);
        } finally {
            closeConn();
        }
    }

}
